﻿using System.Collections.Generic;
using System.Threading.Tasks;
using BCEntity.OA.Attendance.AttendanceRemedyRules;

namespace BCData.OA.Attendance.AttendanceRemedyRules
{
    /// <summary>
    /// 补卡规则
    /// </summary>
    public interface IAttendanceRemedyRulesData
    {
        /// <summary>
        /// 获取补卡规则列表
        /// </summary>
        /// <returns></returns>
        Task<IEnumerable<AttendanceRemedyRulesEntity>> GetAsync();

        /// <summary>
        /// 新创建补卡规则
        /// </summary>
        /// <param name="entity">补卡信息</param>
        /// <returns></returns>
        Task<AttendanceRemedyRulesEntity> InsertAsync(AttendanceRemedyRulesEntity entity);

        /// <summary>
        /// 修改补卡规则
        /// </summary>
        /// <param name="entity">修改信息</param>
        /// <returns></returns>
        Task<AttendanceRemedyRulesEntity> UpdateAsync(AttendanceRemedyRulesEntity entity);

        /// <summary>
        /// 获取默认第一个补卡规则
        /// </summary>
        /// <returns></returns>
        Task<AttendanceRemedyRulesEntity> GetFirstDefaultAsync();

        /// <summary>
        /// 获取补卡规则详情
        /// </summary>
        /// <param name="remedyRuleId">补卡规则Id</param>
        /// <returns></returns>
        Task<AttendanceRemedyRulesEntity> GetByIdAsync(long remedyRuleId);


    }
}
